今天是Python學習的第二十二天,這三天的學習重點會是Python中的類別與物件導向編程(OOP)基礎,今天學習類別屬性與實例屬性之間的區別,學會定義並使用類別中的方法,包括普通方法和特殊方法。
例一:類別屬性與實例屬性
類別屬性 (Class Attribute) 是所有物件共享的變數,可以通過類別名或物件來訪問,屬於所有實例共享。
實例屬性 (Instance Attribute) 是每個物件各自擁有的屬性,通過物件名來訪問。
class Dog:
species = "Canine" # 類別屬性
def __init__(self, name, age):
self.name = name # 實例屬性
self.age = age
my_dog = Dog("Buddy", 3)
your_dog = Dog("Max", 5)
print(my_dog.species) # 輸出: Canine
print(your_dog.species) # 輸出: Canine
print(my_dog.name) # 輸出: Buddy
print(your_dog.name) # 輸出: Max
例二:定義方法與訪問屬性
在類別中定義方法來處理物件的行為。這裡介紹如何通過 self 訪問屬性,以及定義方法來讓物件執行動作。description 是類別中的方法,它訪問物件的 name 和 age 屬性,並返回一個格式化的字串。
class Dog:
def init(self, name, age):
self.name = name
self.age = age
def description(self):
return f"{self.name} is {self.age} years old."
my_dog = Dog("Buddy", 3)
print(my_dog.description()) # 輸出: Buddy is 3 years old.